package com.mkh.st.admin.strategy;

import com.mkh.st.admin.api.entity.SysUserRoleScope;
import com.mkh.st.admin.api.vo.DataPermissionVO;
import com.mkh.st.admin.api.vo.ScopeDataDeatil;
import com.mkh.st.admin.api.vo.ScopeDataVO;
import com.mkh.st.admin.api.vo.UserRoleScopeVO;

import java.util.List;

public abstract class BaseScopeStrategy {

	public 	abstract void setDataPermission(DataPermissionVO vo,SysUserRoleScope sysUserRoleScope,Long tenantId);

	public	abstract Long setKey();

	public	Long getKey(){
		return setKey();
	}

	public abstract ScopeDataDeatil getScopeDataList(DataPermissionVO dataPermissionVO, SysUserRoleScope one,Long scopeId);

	public abstract void getUserDataPermission(DataPermissionVO vo, DataPermissionVO item);

	public abstract List<Long> getList(Long tenantId);

    public abstract void getAllList(UserRoleScopeVO userRoleScopeVO, SysUserRoleScope scope, Long tenantId);

	public abstract Boolean checkPermission(SysUserRoleScope one, String name, Long tenantId);
}
